﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Configuration;

namespace DIProject.ReceptionGoods
{
    public partial class SZFormRPT : Form
    {
        private string _xml;
        public SZFormRPT(string xml)
        {
            if (string.IsNullOrEmpty(xml))
                throw new ArgumentException("xml");
            _xml = xml;
            InitializeComponent();
        }
        public string FileName
        {
            get
            {
                string result = string.Empty;
                string systemPath = System.Configuration.ConfigurationManager.AppSettings["ReportsPath"];
                if (string.IsNullOrEmpty(systemPath))
                {
                    throw new Util.DIException("Требуется задать путь к программе в конфигурационном файле");
                }
                string reportPath = System.Configuration.ConfigurationManager.AppSettings["SZPer"];
                if (string.IsNullOrEmpty(reportPath))
                {
                    throw new Util.DIException("Требуется задать путь файлам отчета");
                    
                }
                return systemPath + reportPath;                
            }
        }
        private void SZFormRPT_Load(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.FileName))
                throw new Util.DIException("Не задан путь к отчету в конфигурациооном файле");
            if (!System.IO.File.Exists(this.FileName))
            {
                throw new Util.DIException("Файла отчета заданного в концигурациооном файле не существует");
            }
        SZReport .FileName = this .FileName;
        SZReport .Load();
            DataSets.ReportsTableAdapters.Reports_GetSZDataTableAdapter adapter = new DIProject.DataSets.ReportsTableAdapters.Reports_GetSZDataTableAdapter();
            DataSets.Reports.Reports_GetSZDataDataTable dt = adapter.GetData(_xml);
            SZReport.SetDataSource(dt as DataTable);
            DataSets.waybillsDataTableAdapters.NklQueries queryFirmName = new DIProject.DataSets.waybillsDataTableAdapters.NklQueries();
            string firmName = queryFirmName.DepartamentName();
            SZReport.SetParameterValue("DepartamentName", firmName);
        }
    }
}